package com.czh.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.czh.domain.ResponseResult;
import com.czh.domain.dto.*;
import com.czh.domain.entity.User;
import com.czh.domain.vo.UserInfoVo;
import com.czh.domain.vo.RolePageVo;
import com.czh.domain.vo.UserPageVo;
import com.czh.domain.vo.UserUpOldInfoVo;

public interface UserService extends IService<User> {
    ResponseResult<UserInfoVo> userInfo();

    ResponseResult<Object> updateUserInfo(User user);

    ResponseResult<Object> register(User user);

    ResponseResult<UserPageVo> userPage(Integer pageNum, Integer pageSize, QueryUserDto queryUserDto);

    ResponseResult<Object> addUser(AddUserDto addUserDto);

    ResponseResult<Object> deleteUser(Long id);

    ResponseResult<UserUpOldInfoVo> userOldInfo(Long id);

    ResponseResult<Object> updateUser(UpdateUserDto updateUserDto);

    ResponseResult<Object> changeStatus(ChangeUserStatusDto statusDto);
}
